package com.lantosec.hmrp.modules.eval.service;

import com.lantosec.hmrp.core.kit.PageVO;
import com.lantosec.hmrp.modules.eval.entity.EvalApplyDetail;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lantosec.hmrp.modules.eval.vo.EvalApplyDetailVO;

import java.util.List;

/**
 * <p>
 * 奖惩申报项目明细 服务类
 * </p>
 *
 * @author AutoCode
 * @since 2020-06-23
 */
public interface IEvalApplyDetailService extends IService<EvalApplyDetail> {

    /**
     * 项目审核（科室）
     * @param page
     */
    List<EvalApplyDetailVO> getDeptExamine(PageVO<EvalApplyDetailVO> page);

    /**
     * 项目审核（个人）
     * @param page
     */
    List<EvalApplyDetailVO> getUserExamine(PageVO<EvalApplyDetailVO> page);

    /**
     * 科室项目审核（参数只需传eval_apply_detail_id）
     * @param vo
     */
    void updateDeptExamine(EvalApplyDetailVO vo);

    /**
     * 个人项目审核（参数只需传eval_apply_detail_id）
     * @param vo
     */
    void updateUserExamine(EvalApplyDetailVO vo);

    void updateDeptExamineList(List<EvalApplyDetailVO> voList);

    void updateUserExamineList(List<EvalApplyDetailVO> voList);

    /**
     * 查询全院人员申报记录
     * @param page
     */
    List<EvalApplyDetailVO> getDeptExamineAll(PageVO<EvalApplyDetailVO> page);

    /**
     * 查询个人申报记录
     * @param page
     */
    List<EvalApplyDetailVO> getApplyExamineUser(PageVO<EvalApplyDetailVO> page);

    /**
     * 查询科室人员申报记录
     * @param page
     */
    List<EvalApplyDetailVO> getApplyExamineDept(PageVO<EvalApplyDetailVO> page);

    /**
     * 查询本科室申报记录
     * @param page
     */
    List<EvalApplyDetailVO> getApplyExamineOurDept(PageVO<EvalApplyDetailVO> page);

    /**
     * 查询全院科室申报记录
     * @param page
     */
    List<EvalApplyDetailVO> getApplyExamineAllDept(PageVO<EvalApplyDetailVO> page);

    /**
     * 查询全部申报记录
     * @param page
     * @return
     */
    List<EvalApplyDetailVO> getEvalApplyAll(PageVO<EvalApplyDetailVO> page);
}
